package com.example.victory.swagger.model;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import java.util.ArrayList;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import javax.validation.Valid;

/**
 * ApiResponseCustomerOverAllTradeOverviewData
 */
@Validated
@javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2021-04-26T10:50:39.083+08:00")

public class ApiResponseCustomerOverAllTradeOverviewData   {
  @JsonProperty("product")
  @Valid
  private List<ApiResponseLabelNameValue> product = null;

  @JsonProperty("trade")
  @Valid
  private List<ApiResponseCustomerOverAllTradeOverviewDataTrade> trade = null;

  @JsonProperty("commissionContribution")
  @Valid
  private List<ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution> commissionContribution = null;

  public ApiResponseCustomerOverAllTradeOverviewData product(List<ApiResponseLabelNameValue> product) {
    this.product = product;
    return this;
  }

  public ApiResponseCustomerOverAllTradeOverviewData addProductItem(ApiResponseLabelNameValue productItem) {
    if (this.product == null) {
      this.product = new ArrayList<ApiResponseLabelNameValue>();
    }
    this.product.add(productItem);
    return this;
  }

  /**
   * 资产分布
   * @return product
  **/
  @ApiModelProperty(value = "资产分布")

  @Valid

  public List<ApiResponseLabelNameValue> getProduct() {
    return product;
  }

  public void setProduct(List<ApiResponseLabelNameValue> product) {
    this.product = product;
  }

  public ApiResponseCustomerOverAllTradeOverviewData trade(List<ApiResponseCustomerOverAllTradeOverviewDataTrade> trade) {
    this.trade = trade;
    return this;
  }

  public ApiResponseCustomerOverAllTradeOverviewData addTradeItem(ApiResponseCustomerOverAllTradeOverviewDataTrade tradeItem) {
    if (this.trade == null) {
      this.trade = new ArrayList<ApiResponseCustomerOverAllTradeOverviewDataTrade>();
    }
    this.trade.add(tradeItem);
    return this;
  }

  /**
   * Get trade
   * @return trade
  **/
  @ApiModelProperty(value = "")

  @Valid

  public List<ApiResponseCustomerOverAllTradeOverviewDataTrade> getTrade() {
    return trade;
  }

  public void setTrade(List<ApiResponseCustomerOverAllTradeOverviewDataTrade> trade) {
    this.trade = trade;
  }

  public ApiResponseCustomerOverAllTradeOverviewData commissionContribution(List<ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution> commissionContribution) {
    this.commissionContribution = commissionContribution;
    return this;
  }

  public ApiResponseCustomerOverAllTradeOverviewData addCommissionContributionItem(ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution commissionContributionItem) {
    if (this.commissionContribution == null) {
      this.commissionContribution = new ArrayList<ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution>();
    }
    this.commissionContribution.add(commissionContributionItem);
    return this;
  }

  /**
   * Get commissionContribution
   * @return commissionContribution
  **/
  @ApiModelProperty(value = "")

  @Valid

  public List<ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution> getCommissionContribution() {
    return commissionContribution;
  }

  public void setCommissionContribution(List<ApiResponseCustomerOverAllTradeOverviewDataCommissionContribution> commissionContribution) {
    this.commissionContribution = commissionContribution;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    ApiResponseCustomerOverAllTradeOverviewData apiResponseCustomerOverAllTradeOverviewData = (ApiResponseCustomerOverAllTradeOverviewData) o;
    return Objects.equals(this.product, apiResponseCustomerOverAllTradeOverviewData.product) &&
        Objects.equals(this.trade, apiResponseCustomerOverAllTradeOverviewData.trade) &&
        Objects.equals(this.commissionContribution, apiResponseCustomerOverAllTradeOverviewData.commissionContribution);
  }

  @Override
  public int hashCode() {
    return Objects.hash(product, trade, commissionContribution);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class ApiResponseCustomerOverAllTradeOverviewData {\n");
    
    sb.append("    product: ").append(toIndentedString(product)).append("\n");
    sb.append("    trade: ").append(toIndentedString(trade)).append("\n");
    sb.append("    commissionContribution: ").append(toIndentedString(commissionContribution)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

